package com.ytjj.qmyx.supplychain.common.model.request;

import com.ytjj.qmyx.supplychain.common.model.response.ProductImgResponse;
import com.ytjj.qmyx.supplychain.common.model.response.ProductSkuKeyResponse;
import com.ytjj.qmyx.supplychain.common.model.response.ProductSpecResponse;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 
 * 
 **/
@Data
public class GoodsRequest {

    @NotNull(message = "商品ID 不能为空！")
//    @ApiModelProperty("商品Id")
    private Integer id;

    @NotBlank(message = "商品名称不能为空")
//    @ApiModelProperty("商品名称")
    private String productName;

    @NotBlank(message = "商品主图不能为空")
//    @ApiModelProperty("商品主图")
    private String productImg;

//    @ApiModelProperty("场景图")
    private String sceneImg;

//    @ApiModelProperty("专区ID")
    private Integer specialId;

//    @ApiModelProperty("一级分类ID")
    private Integer topCategoryId;

//    @ApiModelProperty("二级分类ID")
    private Integer categoryId;

//    @ApiModelProperty("三级分类ID")
    private Integer bottomCategoryId;

//    @ApiModelProperty("商品介绍")
    private String descr;

//    @ApiModelProperty("市场价（划线价）")
    private BigDecimal originalPrice;


//    @ApiModelProperty("直接购买价")
    private BigDecimal curPrice;

//    @NotNull(message = "售价不能为空")
//    @ApiModelProperty("售价")
    private BigDecimal price;

//    @ApiModelProperty("长标题")
    private String longTitle;

//    @ApiModelProperty("推荐文案")
    private String recommendDoc;

//    @ApiModelProperty("推荐描述")
    private String recDescr;

//    @ApiModelProperty("点击量")
    private Integer pv;

//    @ApiModelProperty("评价总数")
    private Integer commentSum;

//    @ApiModelProperty("好评率")
    private Integer goodRatio;

//    @ApiModelProperty("销量字段")
    private String volumeStr;

//    @ApiModelProperty("费率")
    private BigDecimal rate;

//    @ApiModelProperty("是否广告")
    private Integer isAdvert;

//    @ApiModelProperty("是否隐藏")
    private Integer isHide;

//    @ApiModelProperty("排序")
    private Integer sort;

//    @ApiModelProperty("毛利率")
    private BigDecimal grossProfit;

//    @ApiModelProperty("所属平台(平台数据)")
    private String platformData;

//    @ApiModelProperty(value = "库存预警")
    private Integer stockWarning;

//    @ApiModelProperty(value = "0元测评商品")
    private Integer isZeroProduct;

//    @ApiModelProperty(value = "官网栏目id")
    private Integer bankerColumnId;

//    @ApiModelProperty("商品视频")
    private String productVideo;

//    @ApiModelProperty("商品视频")
    private String productVideoCover;

//    @ApiModelProperty("商品品牌")
    private String brand;

//    @ApiModelProperty("商品品牌id")
    private Integer brandId;

//    @ApiModelProperty("助力人数")
    private Integer helpNum;

//
//    @ApiModelProperty(value = "sku")
    private List<ProductSkuKeyResponse> skuKey;

    @NotEmpty(message = "轮播图不能为空")
//    @ApiModelProperty(value = "轮播图")
    private List<ProductImgResponse> bannerList;

    @NotEmpty(message = "详情图不能为空")
//    @ApiModelProperty(value = "详情图")
    private List<ProductImgResponse> infoList;

    @NotEmpty(message = "规格不能为空")
//    @ApiModelProperty(value = "规格")
    private List<ProductSpecResponse> spec;
    /**
     * 带上集采价后的数据
     */
    private List<Map<String, Object>> specArr;

//    @ApiModelProperty(value = "活动类型")
    private String activityType;

//    @ApiModelProperty(value = "产品类型")
    private Integer productType;

    private String attributeJson;

    private Integer stock;

    private Integer groupId;

    private BigDecimal groupPrice;

    /**
     * 供应商品牌id
     */
    private Integer bankerBrandId;

    private BigDecimal salePrice;
    private Integer bankerId;

    /**
     * 活动主图
     */
    private String activityMainImg;

    private Integer addressId;//退货地址id

    /**
     * 所属测评类型
     * 1-普通 2-专享
     */
    private Integer appraisalType;

    /**
     * 商品类型 1国内 2国外
     */
    private Integer isExit;

    /**
     * 邮寄类型（mailType）：一般贸易，直邮，保税
     */
    private String mailType;

    /**
     * 邮寄备注：mailNote
     */
    private String mailNote;

    /**
     * 是否控价 0-否 1-是
     */
    private Integer controlPrice;
    private String controlReason;

    /**
     * 成本价
     */
    private BigDecimal costPrice;
    /**
     * 供货价
     */
    private BigDecimal supplyPrice;

    private Integer freightId;//运费id

    private Integer supplyProductId;//供应链商品id

    private String infoImg;

    /**
     * 当前操作员姓名
     */
    private String operUserName;
}
